The present invention relates to the manipulation and display of data. More particularly, the present invention allows the display of a particular set of data on a variety of different devices having different display types.
Various types of devices are able to receive web page content. These devices include computer systems (such as desktop systems, laptops, and handheld computers), cellular phones, Personal Digital Assistants (PDAs), and other computing devices. These different devices may have different types of displays for displaying data (e.g., different display sizes, different aspect ratios, and different display resolutions). Furthermore, certain devices may have color displays while other devices have a monochrome or gray-scale display. Certain device displays are capable of displaying only text characters while other device displays can display text characters as well as pictures or other graphical information.
Different types of devices receive web page content at different speeds depending on the bandwidth and traffic volume of the communication link between the device and the data source. Thus, the time required to transmit similar web page content is likely to vary from one type of device to another. Users of devices having a slow communication link (caused by reduced bandwidth or increased traffic volume) may want to receive an abbreviated version of the web page content, thereby reducing the time required to transmit the data across the communication link.
Web content developers may want to create web pages that can be received and rendered by multiple types of devices having different types of displays. One solution that supports multiple devices and multiple display types includes annotating each individual web page with information that will allow the web page to be rendered by different types of devices having different types of displays. Separate annotations are required for each type of device and/or each type of display to be supported by the web page. This solution is tedious and time-consuming due to the large number of device types and display types. Further, if new devices or new display types are developed in the future, the web content may require modification to support these new devices or display types.
Another solution that supports multiple devices and/or display types includes creating a separate web page for each type of device and display type that the web content developer desires to support. This solution is also tedious and time-consuming, and requires the creation of additional web pages in the future if new devices or display types are released. This solution also increases the storage space requirements due to the creation of multiple versions of the same web page content.
The system and method described herein addresses these limitations by applying an adaptive layout process to a layout template.
The systems and methods described herein allow a set of data to be formatted for different devices having different types of displays. Using these systems and methods, the content developer is able to create their data content once and have the data content adapted to a variety of different devices and device displays. Once generated, device-specific templates are cached to reduce the processing resources required to display different sets of data on the same type of device.
A particular embodiment retrieves a first template associated with data identified in a data request. A second template is generated using the first template and a device description, which is associated with a device generating the data request.
In one embodiment, the first template is device independent and the second template is associated with the specific device generating the data request and the first template.
In a described embodiment, the second template defines a data presentation format for displaying the requested data on the device generating the data request.
In a particular embodiment, the second template is stored in a cache.
A particular embodiment also retrieves the requested data from a data source and generates formatted data based on the second template and the requested data. The formatted data is then transmitted to the device generating the data request.